package com.etc.reflectdemo;

import java.lang.reflect.Method;

/**
 * @author: knowno
 * @create: 2024-09-18 14:09
 * @Version 1.0
 * 使用三种方式获得java.lang.String类的Class实例，并打印输出String类的所有方法名字
 **/
public class TestString {
    public static void main(String[] args) throws ClassNotFoundException {

        //1. 直接通过类.class
        Class<String> stringClass = String.class;
        //2 对象名.getClass
        String str = "hello String";
        Class<? extends String> aClass = str.getClass();

        //3 通过Class.forName
        Class<?> aClass1 = Class.forName("java.lang.String");
        //String类的所有方法 获取方法名

        Method[] declaredMethods = stringClass.getDeclaredMethods();


        //遍历看看
        for (Method declaredMethod : declaredMethods) {
            System.out.println(declaredMethod.getName() + " , " + declaredMethod.getModifiers());
        }

    }

}
